Method and system for configuring the language of the BIOS in a computer system

ABSTRACT

The present invention comprises a method and system for configuring the language of a BIOS of a computer system. The method and system comprise providing a plurality of BIOS images in the computer system, each of the plurality of BIOS images being related to a particular language, selecting one of the pluralities of BIOS images based on the language supported by the computer system and utilizing the selected BIOS to configure the computer system. Through the use of the method and system in accordance with the present invention, the language being supported by the computer system is determined when the computer system is booted up as opposed to when the computer system is being built. This results in an increase in manufacturing productivity since original equipment manufacturers can build computer systems without having to worry about language restrictions.

CROSS-RELATED APPLICATIONS

The present application is related to application Ser. No. 09/990,003,entitled “Method and System for Configuring an Operating System in aComputer System,” assigned to the assignee of the present applicationand filed on the same date.

FIELD OF THE INVENTION

The present invention relates to computer systems and specifically to amethod and system for automatically configuring the language of theBasic Input Output System (BIOS) in a computer system.

BACKGROUND OF THE INVENTION

BIOS is an essential set of routines in a personal computer stored on achip that provides an interface between the operating system and thesystem hardware. The BIOS supports all peripheral technologies andinternal services such as the realtime clock (time and date).

On startup, the BIOS tests the system and prepares the computer foroperation by querying its own small memory bank for drive and otherconfiguration settings. It searches for other BIOS's on the plug-inboards and sets up pointers (interrupt vectors) in memory to accessthose routines. The BIOS routines initialize all of the hardwaretechnology within the computer so it is properly operating. It thenloads the operating system and passes control to it.

Today, personal computers are used in many different countriesthroughout the world encompassing many different languages.Consequently, each different language requires a change to the BIOS andsetup to support that specific language. Conventionally, computersystems are hard wired for a particular language when each system isbuilt. In other words, the BIOS is selected based on a particularlanguage at build time. This creates a problem if the user subsequentlyneeds to use the system in a country with a language different than thatin which the computer system was hard wired or because more than onelanguage is spoken in the country, because the system must then bere-built with the correct BIOS implementation. This can be a tedious andcumbersome process if a computer is utilized in several differentlanguages.

Therefore, what is needed is a method and system that automaticallyconfigures the BIOS based on the language requirement. The method andsystem should be simple, cost effective and capable of being easilyadapted into existing technology. The present invention addresses such aneed.

SUMMARY OF THE INVENTION

The present invention comprises a method and system for configuring thelanguage of a BIOS of a computer system. The method and system compriseproviding a plurality of BIOS images in the computer system, each of theplurality of BIOS images being related to a particular language,selecting one of the plurality of BIOS images based on the languagesupported by the computer system and utilizing the selected BIOS toconfigure the computer system.

Through the use of the method and system in accordance with the presentinvention, the language being supported by the computer system isdetermined when the computer system is booted up as opposed to when thecomputer system is being built. This results in an increase inmanufacturing productivity since original equipment manufacturers canbuild computer systems without having to worry about languagerestrictions. The language is chosen at time of use by the end user vs.being predefined at manufacturing time. This is critical in regionswhere multiple different languages are spoken and there is no way ofknowing which language the end user prefers at time of system build.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a system in accordance with the present invention.

FIG. 2 shows a common image file.

FIG. 3 is a flowchart of the method in accordance with the presentinvention.

DETAILED DESCRIPTION

The present invention relates to a method and system for configuring thelanguage of the BIOS in a computer system. The following description ispresented to enable one of ordinary skill in the art to make and use theinvention and is provided in the context of a patent application and itsrequirements. Various modifications to the preferred embodiment and thegeneric principles and features described herein will be readilyapparent to those skilled in the art. Thus, the present invention is notintended to be limited to the embodiment shown but is to be accorded thewidest scope consistent with the principles and features describedherein. The present invention is presented in the context of a preferredembodiment. The preferred embodiment of the present invention is amethod and system for configuring the BIOS of a computer system based ona particular language. Through the use of the present invention, thelanguage being supported by the computer system is determined byquerying the keyboard when the system is booted.

For a further understanding of the present invention, please refer nowto FIG. 1. FIG. 1 is a system 100 in accordance with the presentinvention. The system 100 comprises a keyboard 110, preferably auniversal serial bus (USB) keyboard, a central processing unit 120,computer hardware 130, and an operating system 140. The USB keyboard 110includes a port 123 which is coupled to the central processing unit 120.The central processing unit 120 is coupled to the computer hardware 130and the operating system 140.

The central processing unit 120 refers to the processor and the I/Oarchitecture (channels or buses). A memory 121 is coupled to the centralprocessing unit 120. The operating system 140 is the master controlprogram that runs the computer. The operating system 140 sets thestandards for all application programs that run in the computer. BIOS isthe essential set of routines in a personal computer that provides aninterface between the operating system 140 and the system hardware 130.

The USB keyboard 110 includes a plurality of device descriptor files112. The device descriptor files 112 contain information related to thekeyboard, e.g. what type of device it is, who made the device, etc. Thedevice descriptor files 112 also contain user defined fields calledreport descriptors. Report descriptors are strings of information thatthe operating system 140 can read. Report descriptors are a method ofpassing useful information about the USB device to the operating systemor device driver. They are unique for each type of USB device. Reportdescriptors adhere to the following format: Item Type, Item Length, ItemValue.

The system and method in accordance with the present invention takesadvantage of this feature of a USB keyboard to allow for configuring theBIOS in a computer system. In accordance with the present invention, anew report descriptor (hereinafter “the language report descriptor”)contains a new Item Type (first field in the report descriptor) definedas the keyboard language. The new Item Type would be a value currentlyunused within the USB Keyboard device class. This value would be pickedfrom the unused values and would than be defined as the language reportdescriptor. The next field (Item Length) is how many bytes are reservedfor the language value. The last field (Item Value) is the language ofthe USB keyboard. The language report descriptor identifies theparticular language that the USB keyboard 110 supports.

In addition, in a system and method in accordance with the presentinvention, multiple languages are supported within the computer systemvia a common image file containing a plurality of BIOS images stored inthe memory bank 121. Each of the plurality BIOS images supports adifferent language. FIG. 2, for example, is the common image file 210wherein the common image file 210 contains a plurality of BIOS images211, 212, 213 each of which supports a particular language. AlthoughJapanese, English and Chinese are the languages shown in FIG. 2, one ofordinary skill in the art will readily recognize that a plurality oflanguages could be implemented while remaining within the spirit andscope of the present invention.

Based on this new item type, the language that the computer system willsupport can be determined by having the CPU 120 read the Language ReportDescriptor stored in the USB keyboard (FIG. 1) upon the initializationof the computer system. Once the language is determined, the BIOS forthe system is selected by the CPU 120 based on the language supported bythe keyboard and utilized to configure the computer system. Accordingly,if a system user needs to change the language being supported by thecomputer system, the system user would simply swap the current keyboardwith a keyboard that supports the desired language and then reboot thecomputer system.

Although the above described embodiment of the present invention isdescribed in the context of utilizing the keyboard to determine thelanguage being supported, one of ordinary skill in the art will readilyrecognize that a variety of devices could be utilized to determine thelanguage being supported by the computer system while remaining withinthe spirit and scope of the present invention. In addition, although aUSB keyboard is described in the preferred embodiment, any type ofkeyboard could be used that includes similar features and that use wouldbe within the spirit and scope of the present invention.

For a better understanding of the present invention, please refer toFIG. 3. FIG. 3 is a flowchart of the method in accordance with thepresent invention. Such a method may be implemented, for example, byoperating a computer system to execute a sequence of machine-readableinstructions. The instructions usually reside in system ROM (read onlymemory) which in contained on the system logic board. The computer isdesigned so when it is first turned on the processor always reads thefirst instruction in the system ROM by always reading from apredetermined address which is the first byte in the system ROM. In thisrespect, another aspect of the present invention concerns a programmedproduct, comprising computer readable media tangibly embodying a programof machine readable instructions executable by a digital data processorto perform a method for configuring the BIOS of a computer system basedon a particular language.

Alternatively, the instructions may be contained in another computerreadable media such as a magnetic data storage diskette and directly orindirectly accessed by the computer system. Whether contained in thecomputer system ROM or elsewhere, the instructions may be stored on avariety of machine readable storage media, such as a DASD storage (e.g.a conventional “hard drive” or a RAID array), magnetic tape, electronicread-only memory, an optical storage device (e.g., CD ROM, WORM, DVD,digital optical tape), paper “punch” cards, or other suitable computerreadable media including transmission media such as digital, analog, andwireless communication links. In an illustrative embodiment of theinvention, the machine-readable instructions may comprise lines ofcompiled C, C++, or similar language code commonly used by those skilledin the programming for this type of application arts.

Referring back to FIG. 3, first, a BIOS select language control programwith a plurality of BIOS images are provided in the computer system,each BIOS image being related to a language, via step 310. The BIOSselect language control program queries the keyboard to determine thelanguage supported by the keyboard, by querying the report descriptorswithin the device descriptor files. Next, a BIOS image is selected basedon the language supported by the computer system, via step 320. The BIOSimage is selected from the plurality of BIOS images located within thememory ROM of the computer system. Finally, the selected BIOS image isutilized to configure the computer system, via step 330. Accordingly, asystem user can change the language being supported by the computersystem by simply swapping the current keyboard with a keyboard thatsupports the desired language and then rebooting the computer system. Amethod and system for configuring the BIOS of a computer system based ona particular language is disclosed. Through the use of the method andsystem in accordance with the present invention, the language beingsupported by the computer system is determined when the computer systemis booted up as opposed to when the computer system is being built. Thisresults in an increase in manufacturing productivity since originalequipment manufacturers can build computer systems without having toworry about language restrictions.

Although the present invention has been described in accordance with theembodiments shown, one of ordinary skill in the art will readilyrecognize that there could be variations to the embodiments and thosevariations would be within the spirit and scope of the presentinvention. Accordingly, many modifications may be made by one ofordinary skill in the art without departing from the spirit and scope ofthe appended claims.

1. A method for configuring a computer system, the method comprising thesteps of: a) providing a plurality of BIOS images in a memory of thecomputer system, each of the plurality of BIOS images being related to aparticular language; b) selecting one of the plurality of BIOS imagesfrom the memory based on the language supported by the computer systemby querying a keyboard of the computer system; and c) utilizing theselected one BIOS image to configure the computer system.
 2. The methodof claim 1 wherein the plurality of BIOS images are provided via a BIOSselect language control program.
 3. The method of claim 1 wherein thekeyboard comprises a universal serial bus (USB) keyboard.
 4. The methodof claim 3 wherein the keyboard comprises at least one report descriptorwhich identifies the language supported by the computer system.
 5. Themethod of claim 4 wherein step b1) further comprises: b1i) querying theat least one report descriptor to determine the language supported bythe keyboard.
 6. A system for configuring the language of a computer,the system comprising: means for providing a plurality of BIOS images ina memory of the computer system, each of the plurality of BIOS imagesbeing related to a particular language; means for selecting one of theplurality of BIOS images based on the language supported by the computersystem by querying a keyboard of the computer system; and means forutilizing the selected one BIOS image to configure the computer system.7. The system of claim 6 wherein the plurality of BIOS images areprovided via a BIOS select language control program.
 8. The system ofclaim 7 wherein the keyboard comprises a universal serial bus (USB)keyboard.
 9. The system of claim 6 wherein the keyboard includes atleast one report descriptor which identifies the language supported bythe computer.
 10. The system of claim 9 wherein the at least one reportdescriptor is queried to determine the language supported by thekeyboard.
 11. A computer readable medium containing program instructionsfor configuring the language of a computer system, the programinstructions comprising the steps of: a) providing a plurality of BIOSimages in a memory of the computer system, each of the plurality of BIOSimages being related to a particular language; b) selecting one of theplurality of BIOS images from the memory based on the language supportedby the computer system by querying a keyboard of the computer system;and c) utilizing the one selected BIOS image to configure the computersystem.
 12. The computer readable medium of claim 11 wherein theplurality of BIOS images are provided via a BIOS select language controlprogram.
 13. The computer readable medium of claim 11 wherein thekeyboard comprises a universal serial bus (USB) keyboard.
 14. Thecomputer readable medium of claim 13 wherein the keyboard includes atleast one report descriptor wherein the at least one report descriptoridentifies a language supported by the computer system.
 15. The computerreadable medium of claim 14 wherein step (b1) further comprises: (b1i)querying the at least one report descriptor to determine the languagesupported by the keyboard.
 16. The keyboard of claim 15 wherein the atleast one report descriptor is capable of being queried uponinitialization of a computer system, to determine a language beingsupported by the keyboard.
 17. A keyboard comprising: a port forreceiving a query; and a plurality of device descriptor files storedwithin the keyboard; the plurality of device descriptor files includinga report descriptor that identifies the language supported by thecomputer system based on the query, wherein one of a plurality of BIOSimages is selected based on the language supported by the computersystem by querying the keyboard, and wherein the selected one BIOS imageis utilized to configure the computer system.
 18. The keyboard of claim17 wherein the at least one report descriptor is capable of beingqueried upon initialization of a computer system, to determine alanguage being supported by the keyboard.
 19. The keyboard of claim 18wherein the port comprises a universal serial bus (USB) port.